﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ControlPresupuesto
{
    public partial class FrmShowMessageException : Form
    {
        private int height_=10;
        private int width_=10;
        private int maxHeight = 700;
        private int maxWidth = 900;
        private string mensage = string.Empty;

        public string Mensaje
        {
            get { return this.mensajeTextBox.Text; }
            set {
                this.mensage = value;
                this.mensajeTextBox.Text = value;

                //-- Acomodo las dimensiones de la ventana a la longitud y lineas del mensaje.
                int aux = 10;
                int anchoText = 7;
                int altotext = 18;

                this.Height = 105 + (mensajeTextBox.Text.Split('\n').Length * altotext > this.maxHeight ? this.maxHeight : mensajeTextBox.Text.Split('\n').Length * altotext);
                this.Height = (this.Height < 250 ? 250 : this.Height);

                //--Obtengo la maxima logitud de las lineas de mensaje
                foreach (string c in mensajeTextBox.Text.Split('\n'))
                {
                    aux = (c.Length > aux ? c.Length : aux);
                }

                this.Width = 20 + (aux * anchoText > this.maxWidth ? this.maxWidth : aux * anchoText);
                this.Width = (this.Width < 500 ? 500 : this.Width);                
            }
        }

        private void FrmShowMessageException_Load(object sender, EventArgs e)
        {

        }

        public FrmShowMessageException()
        {
            InitializeComponent();
            this.height_ = this.Height;
            this.width_ = this.Width;

            //--- Coloco como titulo el nombre de la empresa
            //this.Text = Utils.get().getValorParametro("NombreEmpresa");
            this.Text = "Mensaje";
        }

        private void mensajeTextBox_TextChanged(object sender, EventArgs e)
        {
            this.mensajeTextBox.Text = this.mensage;
        }

        private void aceptarButton_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void FrmShowMessageException_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }
        }

        private void mensajeTextBox_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }        
        }
    }
}
